import pandas as pd
from datetime import datetime


def error12(df, styles_df, column1, column2):
    """
    在Excel文件中的指定列下，比较每一行的两个单元格中的数据，如果不符合规则，则把这两个单元格都标黄。

    :param df: 原始数据 DataFrame
    :param styles_df: 样式 DataFrame，用于设置 Excel 格式
    :param column1: 身高(cm)
    :param column2: 心率
    """
    try:
        # 比较规则函数
        def highlight_if_not_correct(row):
            # 获取体重、体重控制建议、体质指数
            height = row[column1]
            heart_rate = row[column2]

            # 身高设置上下限
            if height > 220 or height < 120:
                # 不符合规则，标橙
                styles_df.loc[row.name, [column1]] = 'background-color: orange'

            # 心率设置上下限
            if heart_rate > 100 or heart_rate < 60:
                # 不符合规则，标橙
                styles_df.loc[row.name, [column2]] = 'background-color: orange'

            return [''] * len(row)

        # 应用样式
        df.apply(highlight_if_not_correct, axis=1)
        print("[身高、心率]已完成处理。")

    except Exception as e:
        print(f"身高、心率处理时发生错误：{e}")
